package com.simonall.gui.utils;

import java.io.IOException;

import cn.hutool.core.util.StrUtil;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;

/**
 * FXML加载器
 * 
 * @author simonall
 */
public class CustomXmlLoader {

	// 前缀后缀
	private static final String prefix = "/view";
	private static final String suffix = ".fxml";

	/**
	 * Load
	 * 
	 * @throws IOException
	 */
	public static Parent load(Class<?> clazz) {
		return load(StrUtil.EMPTY, clazz);
	}

	/**
	 * Load
	 * 
	 * @param namespace 命名空间 例如：/member
	 * @param clazz     类型
	 * @return
	 */
	public static Parent load(String namespace, Class<?> clazz) {
		try {
			String fileName = clazz.getSimpleName();
			return FXMLLoader
					.load(CustomXmlLoader.class.getResource(prefix + namespace + StrUtil.SLASH + fileName + suffix));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

}
